package com.lagou.dynamicproxy;

public class proxyTest {
    public static void main(String[] args) {

        System.out.println("不使用代理类，调用doSomething");
        Person person = new Bob();
        person.doSomething();

        System.out.println("--------------------------");

        System.out.println("使用代理类，调用doSomething");
        Person proxy = (Person) new JDKDynamicProxy(new Bob()).getTarget();
        //当使用代理对象中的方法时，其实都是调用了proxy中的invoke方法
        proxy.doSomething();


        System.out.println("===============\n使用代理类，调用getAttr");
        String bobAttr = proxy.getAttr();
        System.out.println(bobAttr);


    }
}
